UNIX MAGAZINE 2002年1月号

キーフレーズ

UNIX MAGAZINE サーバー クライアント NFS Linux http:// ファイル ネットワーク Windows IPv6 システム RFC CPU 2002 www プロセス バケット FreeBSD () Web VMM 処理 場合 オプション I/O アプリケーション ディレクトリ 利用 対応 コマンド アクセス ヘッダ ホスト カーネル WWW ChangeLog 000 SMB インターフェイス できる select ファイルサーバー VMware プログラム 実行 Samba データ オーバーヘッド usr 2001 アドレス ファイルシステム home 本体価格 可能 マシン 仮想マシン マウント ページ 機能 ドライバ コンテンツ NIC 設定 VMApp LAN -3 IPv4 必要 100 lntel local Base インストール オプジェクト for etc Network Ethernet IRQ org システムコール プロトコル ソフトウェア 2.0 write TCP 表示 SCSI インターネット print Ruby ハードウェア and 指定 html .com ディスク

目次

身の内部でよぶんな日判をかけずに、 VMNet への接続を 要求する NIC の IRQ と、 VMM にただちに制御を戻す ことができる NIC の IRQ を特定できるようになる。 れら 3 つの最適化を組み合わせると、 733MHz CPU の イ反想マシンでの CPU の利用率を約 78 % にまて減らせる。 また、これらの最適化は 350MHz CPU のイ反想マシンで 達成可能なネットワーク・スルーブットを 2 倍以 - 日こ引 き上げる。 実験の結ホスト協調型イ瓦想化方式による CPU のオ ーバーヘッドのため、大量の I/O がともなうワークロー ドでは、イ瓦想マシンはネイテイプ・ハードウェアと同し性 能を達成できない可能生があることが分かった。単純な実 装では頻繁な I/O によって領域切替えが頻発し、ワーク ロードが CPU の性能に左右されるため、 I/O の利用率が みかけ上制限される。しかし、ホスト協調型イ廨課マシン・ アーキテクチャを糸財寺しつつも、よぶんな領域切替えをな くし、実質上強制的な切替えの構造を改善できる。それに より、 733MHz Pentium III システムでは CPU の利用 率か 1 咸少して十分な I/O 性能が達成できた。 CPU はどんどん高速化しており、 733MHz の Pen- tium III は現在の企業向け PC としてはエントリレベル かそれ以下である。さらに、 100Mbps のリンクカ症常的 に、もしくは頻繁に一になるワークロードはデスクトッ プ pc でははとんどありえない。ホスト協調型アーキテ クチャがもたらす可搬生や、デバイスの独立と共存を組 み合わせることで VMware Workstation が達成できる I/O 性能は、デスクトップ PC て使われる場合、性能と 互換生のバランスのとれた優れた折衷案となる。もちろん このバランスは、ギガビットのネットワークが一ヒすれ liCPU がどオレごけ速くなっているかに応して変化するだ ろう。 VMware Workstation のホスド協制司型イ應誤マシン・アーキテ クチャは、 Mendel Rosenblum 、 Edouard Bugnion 、 Scott Devine 、 Edward Wang が考案した。 Regis Duschene は、 ネットワーク・サプシステムに関するいくつかの描商化を考案し た。査読者からの有益な孑商により、本論文をよりよいものとす ることができた。そして、 VMware の社員らの熱じ、な貢物肋ゞなけ オ L ば、本論文は完成しなかっただろう。 [ 参考文献 ] 卩 } AMD Corporation, ル e れ Products: Ethernet UNIX MAGAZINE 2002.1 I/O デバイスの仮 controllet 、 s B00 ん 2 , 1998 [ 2 ] Terry L. Borden, James P. Hennessy and James 、 V. Rymarczyk, "Multiple Operating Systems on One Processor Complex ” , IBM Systems ノれ襯 , 28 ( 1 ) : 104 ー 123 , 1989 [ 3 ] Edouard Bugnion, Scott Devine, Kinshuk GO ⅵ 1 and MendeI Rosenblum, "Disco: Running Com- modity Operating Systems on Scalable Multipro- cessors ” A CM 7 テ佖れ s 佖 c 0 れ s 0 れ Com.〃社、 Systems, 15 ( 4 ) : 412 ー 447 , Nov. 1997 [ 4 ] R. J. Creasy, "The Origin of the VM / 370 Time- Sharing System' , IBM ノ 0 れ田 I 可月 ese の℃ん佖れ d De- velopment, 25 ( 5 ) : 483 ー 490 , Sept. 1981 [ 5 ] Robert P. Goldberg, "Survey of Virtual Machine Research ” IEEE Com盟、イ佖 40 れ e , 7 ( 6 ) : 34 ー 45 , 1974 [ 6 ] David Golub, Randall Dean, Allesandro Forin and Richard Rashid, "UNIX As An Application Pro- gram ” , in 、 ocee 市れ gs 可 USENIX プ 990 Surnmer Co れ / ℃れ ce , Jun. 1990 [ 7 ] peter H. Gum "System/ 370 Extended Architecture : facilities for Virtual Machines" IBM . ん可月← se 佖尾ん佖れ d Development, 27 ( 6 ) : 530 ー 544 , Nov. 1983 [ 8 ] Judith S. Hall and Paul T. R0binson, 。、 Virtualiz- ing the VAX Architecture" , in Proceedings 可ノ & ん スれれ社襯 / れ te ? 佖厖 0 れ S リ m 〃 OS を社 m 0 れ Com〃社 r ス 7 、 chitecture, pp. 380 ー 389 , ACM' Mar. 1991 [ 9 ] Hermann Härtig, Michael H0hmuth' Jochen Liedtke, Sebastian Schönberg and Jean W01ter' "The Performance of ß-Kernel-Based Systems ” , ⅲ PT ・ ocee 市れ gs 可 The ee れ S rn 〃 OS を社 m 0 れ 0 〃 e 観 9 System Principles, ACM' Oct. 1997 [ 10 ] lntel Corp. , lntel Architecture Developer's イの皿記 , V01. I, Ⅱ , III, 1998 [ 11 ] GeraId J. popek and R0bert P. G01dberg' 。。 FO mal Requirements For Virtualizable Third Genera- tion Architectures ” , Com?れ社れを c 佖 0 れ s 0 工 the ス CM 17 ( 7 ) : 412 ー 412 , Jul. 1974 「 Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor 」 Originally published in proceedings 可 the 2001 USENIX A れれ社 0 ー Technical C07 ゾ℃れ ce , Bost011' Massachusetts' USA, June 25 ー 30 2001 @Jeremy Sugerman, Ganesh Venkitachalam and Beng- Hong Lim, VMware, lnc. 175

ャネル、メモリアドレス或をイ瓦想マシンに割り当てられ る。これにより、 VMM を介さずにハードウェアか直接ゲ ストの I / O アクセスを処理できる。 Borden らは、この機 能を利用すれば、専用の I/O テパイスをもつイ瓦想マシン で、ネイテイプのハードウェアとの性能差 1 ~ 2 % 以内を 達成できると報告している。同様のパーティション機能を もっ PC べースのサーバー・プラットホームは、 VMware のイ瓦想マシンでこれを実現できる。 HalI と Robinson は、 VAX アーキテクチャのイ反想 化について述べている [ 8 ] 。 VAX は IA-32 アーキテク チャと同様に、本来は仮想化できす、 2 つ以上の保護リ ングをもつ。 HaIl と Robinson は、 VAX アーキテクチ ャとマイクロコードを変更している。これとは対照的に VMware のイ瓦想イは支術はハードウェアの修正をいっさい 要求しない。 Bugnion らは、大規模な NUMA マシンにおいてス ケーラブルな性能を実現するためにイ瓦想マシン技術を利用 している [ 3 ] 。はとんどの OS 製品は、大幅な修正を施さ ないかぎり大型の NUMA マシン上では動かない。しか し、 VMM を一から設言 t すれば、 こうしたマシンを管理 し、 OS 製品から NUMA の性質を隠すことができる。マ シンは、可能な数の CPU を複数の OS に割り当てたう えで複数の OS のイメージを実行できる。 VMware Workstation のホスト協調型イ瓦想マシン・ア ーキテクチャは、ユーサーレベルでの I/O デバイスの工 ミュレーションに依存している。これは、 OS の API を ユーサーレベルでエミュレートすることによって、 1 台の マシン上に複数のアプリケーション環境を作りだすマイク ロカーネルをベースとした OS (Mach[6] など ) と同様の ものである。最大の違いは抽象イである。イ瓦想マシンは ハードウェア層を抽象化するのに対し、マイクロカーネル は OS の API 層を抽象化する。 Härtig らは、マイクロ カーネルをベースとするシステムの生能を向上させる技術 について述べている [ 9 ] 。 本論文では、 VMware Workstation に実装されてい る VMware のホスト協調型イ課マシン・アーキテクチャ について解説した。このアーキテクチャにより、 VMware 174 Workstation は特別なデバイスドライバを使わすに幅広 い PC ハードウェアをサポートし、可搬性のある安定し た仮想ハードウェア環境を実現できる。また、一般的な OS 製品と共存可能なのでインストールや使用も簡単で、 VMM コンポーネントの開発も容易である。 ホスト協調型アーキテクチャの機能は、ホスト os の通 常のアプリケーションとして重川乍し、イ瓦想マシンに代わっ てネイテイプ・デバイスへの I/O を処理する VMApp と、 CPU を仮想化する VMM の 2 つに分けられる。大 量の I/O がともなうワークロードでは多くの牛罸在モード のコードカ躾行さ VMM からホストの VMApp へ領 域の、、重い " 切替えが必要になる。キーポードやマウスと いった或カ峡いデバイスではさほど重要ではないが、広 い帯域が必要なテンヾイスではネイテイプ・テンヾイスと同し I/O 性能を達成できない可能生がある。本論文では NIC の一瓦想化に焦点をおいた。これは VMware workstation 2.0 の最適化であり、 733MHz Pentium III の CPU 上 で重川乍するイ反想マシンが CPU の性能に制限されずにネッ トワークを使いきることかできるようにする。 実装されたすべての最適化の背後には、領域切替えの回 数を減らすという基本戦略がある。第 1 の最適化は、イ課 NIC に対する I/O アクセスのうち、バケットの送信を促 すものはごく一部であるという事実を利用したものだ。そ オ LJ ユ外はホスト・ハードウェアへのアクセスを要求しない ため、 VMM はホスト領域への切替えをおこなわすにそ れらを直接処理することができる。この最適化だけでも、 733MHz の CPU でネットワーク・リンクを使いきるこ とができるようになる。 第 2 の最適化は、残った領域切替えとそれ・らのオーバー ヘッドを減少させる。領域切替えの頻度が - ト分に大きい場 合は、バケットを送信するたびに即座に VMApp に切り 替えるのではなく、 VMM が最大 3 つのバケットを集めて から VMApp に切り替え、それらを一度に送信する。 のクラスタリングには、ネイテイプ NIC からの伝送 IRQ が、即時に領域切替えか要求される VMM 領域ではなく、 ( バケットが次々と送られれば ) ホスト領域に到着する可 能性か高まるという利点もある。 第 3 の最適化は、 VMNet ドライバと VMApp 間に 共有メモリを使用し、 VMApp から select() 呼出しを発 行する必要を減らす。この最適化によって VMApp は自 UNIX MAGAZINE 2002 ユ

自重加勺に得る。 VMM に専用の NIC ドライバが必要にな ると、ハードウェア・サポートの開発、テスト、更新に新 たな資金を投じなくてはならない。 前述のように、 VMM はそれぞ 1 つの仮想マシン に関連づけられている。複数の仮想マシンが I/O デバイ スを共有するためには、 VMM を拡張して、個々のイ廨課 マシンとそれらの VMM を認識する共有部分を追加する 必要がある。この共有部分は、実質上 VMM 領域を管理 するために設計されたカーネルである。これは、デバイ スを操作するだけでなく、 1 つの I/O デバイスを複数の VMM が共有するためのソフトウェアを提供しなければ ならない。この手法は、高速なテンヾイスに対してネイティ プの I/O 性能を達成することが重要な条件となる VM- ware ESX Server でイ吏用されている。 新しい技術を導入する際には、相互漣用性を寒し、互 換性を系旧寺することカ腰求される場合が多い。コンピュー タ・アーキテクチャと OS が進化すると、既存のソフト ウェアやアプリケーションとの互換性を糸財寺する必要カ吽 しる。イ反想マシン技術はハードウェア抽象イを提供する ことで、ハードウェアの差異を旧いソフトウェアから覆い 隠し、複数の互換性のないコンピューティンク環境を 1 台 のマシンに共存させる。 ネイテイブマシンと同じ性能を得ることは、仮想マシ ン技術の最大の目標である。イ瓦想マシンのコードをハード ウェアで直接実行できれば、マシンのシミュレーションや 工ミュレーションをベースとするはかの技術よりも圧倒的 に有利である。初期のメインフレームイ廨課マシンのサポー トに続いて、 IBM は仮想マシンの生能をさらに改善する ため、アーキテクチャの機能を次々と言した。 Gum は、 牛モードのゲスト命令を処理するオーバーヘッドのさら なる軽減、ゲストのメモリアドレスの変換、マルチ・プロ セッシングのサポートに関し、 IBM System/370 アーキ テクチャにおけるいくつかのハードウェアによるサポート について述べている [ 7 ] 。 Borden らは、メインフレームである IBM 3090 シ リーズのノヾーティション機能 PR/SM について述べてい る [ 2 ] 。この機能を利用すれば、特定のデバイス、 I/O チ UNIX MAGAZINE 2002.1 ASCII 好評発売中 ! インターネットの 起源 Where W 5 5 ね y up Late The Origins of The lnternet ・ Katie Hafner 、 Matthew Lyon 著 ・加地永都子、道田豪訳 ・ A5 判、 336 ページ ・ ISBN 4-7561-3479-3 ・本体 2 , 500 円 + 税 誤った“常識”を覆し、創設に携わった人びとの肉声を あますところなく伝える貴重な証言集 目次から 即断即決で 100 万ドル / 大聖堂を建てたのは誰か / 第 3 の 大学 / プログラムと格闘する日々 / トウルート宛必着 / ハッ キングと喧噪と / 電子メール / 手にしたロケット 参考文献、索引 Java プログラミング・ノート 国際化と 日本語処理 CAFE BABE ・風間一洋著 ・ A5 判、 312 ページ ・ ISBN 4-7561-3481-5 ・本体 3 , 000 円十税 Java による日本語処理、さらには国際化プログラミング に必須の知識を数多くのサンプル・プログラムを示し ながら平易に解説する。真の意味での "Write Once, RunAnywhe 「 e " を目指すプログラマーに最適の 1 冊。 目次から Java はどんな言語か / 国際化と地域化 / Unicode / ロケー ル / 工ンコーティング / タイムゾーン / リソースパンドル / フォ ーマット出力と解析 / 文字列の比較 / テキストの境界解析 / インブットメソッド / 文字の表示 付録 : Unicode プロック / ロケール一覧 / 工ンコーティング名 一覧 / タイムゾーン D 一覧 / ユーロ通貨記号への対応 株式会社アスキー 〒 1 5 ト 8024 東京都渋谷区代々木 4 ー 33 ー ] O 出版営業部 電話 (03) 535 ト 8 ] 94 173